const app = getApp();
Page({
  data: {
    avatarUrl: '',
    nickName: '',
    // 用于条件渲染，默认显示立即登录
    isLogin: false
  },
  onLoad() {
    // 取出nickName,判断是否登录
    let nickName = wx.getStorageSync('nickName');
    if(nickName){
      this.setData({isLogin: true});
    }
  },
  // 用户登录，获取用户信息
  getUserProfile(e) {  
    // wx.getUserProfile 获取用户信息
    wx.getUserProfile({
      desc: '用于完善会员资料',  
      success: (res) => {
        // 对对象解耦获取三个参数，这三个参数要传给后端
        let {iv,encryptedData,userInfo} = res;
        wx.login({
          success: (res)=>{
            let code = res.code;
            let data = {
              code,iv,encryptedData,userInfo
            };
            // console.log(data);
            // 调用后台登陆接口
            app.request('/user/login',data,'post')
            .then(res=>{
              // 获取token和用户信息
              // console.log(res);
              // 把nickName缓存到本地
              wx.setStorageSync('nickName', res.data.nickName);
              // 把nickName和头像地址赋给data
              this.setData({nickName:res.nickName,avatarUrl:res.avatarUrl},wx.hideLoading());
              
            }).catch(err=>{
              wx.hideLoading();
              console.log(err);
            })
          },
          fail: (err)=>{
            console.log('login错误',err);
          }
        });
        // console.log('打印用户信息',res); 
        this.setData({avatarUrl: res.userInfo.avatarUrl,nickName: res.userInfo.nickName,  isLogin:true,isLogin: true});
      }
    })
  },

  // 退出登录
  logOut() {
    wx.showModal({
      title: '是否要退出登录',
      success :(res)=> {
        if (res.confirm) {
          console.log('用户点击确定')
          wx.clearStorageSync('nickName');
          this.setData({isLogin: false});
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
    
  }
})